// 引入 用来发送请求的方法
import { request } from "../../request/index"
import regeneratorRuntime from '../../lib/runtime/runtime';
Page({

  data: {
    orders: [],
    tabs:[
      {
        id: 0,
        value: '全部',
        isActive: true
      },
      {
        id: 1,
        value: '待付款',
        isActive: false
      },
      {
        id: 2,
        value: '待发货',
        isActive: false
      },
      {
        id: 3,
        value: '退货/退款',
        isActive: false
      }
    ],
  },

  onShow(options) {
    const token = wx.getStorageSync('token');
    if(!token) {
      wx.navigateTo({
        url: '/pages/auth/index',
      });
      return;
    }

    // 获取当前小程序的页面栈 
    // 最大长度 10 索引最大的页面就是当前页
    let pages = getCurrentPages();
    let currentPage = pages[pages.length-1];
    // console.log(currentPage.options);
    const {type} = currentPage.options;
    // 激活选中页面标题
    this.changeTitleByIndex(type-1);
    this.getOrders(type);
  },
  // 获取订单列表的方法
  async getOrders(type) {
    const res = await request({url:"/my/orders/all", data:{type}}) || [];
    // console.log(res);
    this.setData({
      orders: res.orders.map(v=>({...v, create_time_cn:(new Date(v.create_time*1000).toLocaleString())}))
    })
  },
  // 标题标题索引来激活选中 标题数组
  changeTitleByIndex(index) {
    let {tabs} = this.data;
    tabs.forEach((v,i)=>i===index?v.isActive=true:v.isActive=false);
    // 赋值到data中
    this.setData({
      tabs
    })
  },
  handleTabsItemChange(e) {
    // 获取被点击的标题索引
    const { index } = e.detail;
    this.changeTitleByIndex(index);
    // 重新发送请求 type=1 index=0
    this.getOrders(index+1);
  },
})